package sistema.controleVendas.fachadas;

import java.util.List;

import sistema.controleVendas.entidades.Estoque;
import sistema.controleVendas.persistencia.GerenciarEstoquePersistencia;

public class GerenciarEstoqueFachada {
	private static GerenciarEstoqueFachada singleton;
	private GerenciarEstoquePersistencia gep = new GerenciarEstoquePersistencia();
	private GerenciarEstoqueFachada (){}
	public static GerenciarEstoqueFachada getInstance(){
		if(singleton == null){
			singleton = new GerenciarEstoqueFachada();
		}
		return singleton;
	}
	public void inserirEstoque(Estoque estoque){
		gep.adicionarEstoque(estoque);
	}
	public void atualizarEstoque(Estoque estoque){
		gep.atualizarEstoque(estoque);
	}
	public void removerEstoque(Estoque estoque){
		gep.removerEstoque(estoque);
	}
	public List<Estoque> listarEstoque(){
		return gep.listarEstoque();
	}
	public void addQuantidadeEstoque(Estoque estoque, int quantidade){
		estoque.setQuantidadeDisponivel(estoque.getQuantidadeDisponivel()+quantidade);
		gep.atualizarEstoque(estoque);
	}
	public void diminuirQuantidadeEstoque(Estoque estoque, int quantidade){
		estoque.setQuantidadeDisponivel(estoque.getQuantidadeDisponivel()-quantidade);
		gep.atualizarEstoque(estoque);
	}
	public Estoque buscarEstoque (Estoque estoque){
		return gep.buscarEstoque(estoque);
	}
	public Estoque buscarEstoquePorProduto(Estoque estoque){
		return gep.buscarEstoquePorProduto(estoque);
	}

}
